翻訳と辞書
Words near each other
・ Overlap (term rewriting)
・ Overlap coefficient
・ Overlap extension polymerase chain reaction
・ Overlap syndrome
・ Overlap zone
・ Overlapped I/O
・ Overlapping consensus
・ Overlapping distribution method
・ Overlapping gene
・ Overlapping generations
・ Overlapping generations model
・ Overlapping interval topology
・ Overlapping markup
・ Overlapping subproblems
・ Overlap–add method
Overlap–save method
・ Overlawyered
・ Overlay
・ Overlay (poker)
・ Overlay (programming)
・ Overlay architecture
・ Overlay assay
・ Overlay Control
・ Overlay journal
・ Overlay keyboard
・ Overlay multicast
・ Overlay network
・ Overlay plan
・ Overlay transport virtualization
・ Overlayer


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Overlap–save method : ウィキペディア英語版
Overlap–save method
Overlap–save is the traditional name for an efficient way to evaluate the discrete convolution between a very long signal x() and a finite impulse response (FIR) filter h():
\ \sum_^ h() \cdot x() = \sum_^ h() \cdot x(),\,|}}
where h()=0 for m outside the region (''M'' ).
The concept is to compute short segments of ''y''() of an arbitrary length ''L'', and concatenate the segments together. Consider a segment that begins at ''n'' = ''kL'' + ''M'', for any integer ''k'', and define:
:x_k() \ \stackrel
\begin
x() & 1 \le n \le L+M-1\\
0 & \textrm.
\end

:y_k() \ \stackrel \ x_k()
*h()\,
Then, for ''kL'' + ''M''  ≤  ''n''  ≤  ''kL'' + ''L'' + ''M'' − 1, and equivalently ''M''  ≤  ''n'' − ''kL''  ≤  ''L'' + ''M'' − 1, we can write:
:
\begin
y() = \sum_^ h() \cdot x_k()
&= x_k()
* h() \\
&\stackrel \ y_k().
\end

The task is thereby reduced to computing ''y''''k''(), for ''M''  ≤  ''n''  ≤  ''L'' +'' M'' − 1. The process described above is illustrated in the accompanying figure.
Now note that if we periodically extend ''x''''k''() with period ''N''  ≥  ''L'' + ''M'' − 1, according to:
:x_() \ \stackrel \ \sum_^ x_k(- \ell N ),
the convolutions  (x_)
*h\,  and  x_k
*h\,  are equivalent in the region ''M''  ≤  ''n''  ≤  ''L'' + ''M'' − 1. So it is sufficient to compute the N-point circular (or cyclic) convolution of x_k()\, with h()\,  in the region ().  The subregion () is appended to the output stream, and the other values are discarded.
The advantage is that the circular convolution can be computed very efficiently as follows, according to the circular convolution theorem:
:y_k() = \scriptstyle \text^ \displaystyle (\ \scriptstyle \text \displaystyle (x_k())\cdot \scriptstyle \text \displaystyle (h())\ ),
where:
*DFT and DFT−1 refer to the Discrete Fourier transform and inverse Discrete Fourier transform, respectively, evaluated over ''N'' discrete points, and
*''N'' is customarily chosen to be an integer power-of-2, which optimizes the efficiency of the FFT algorithm.
*Optimal N is in the range (8M ).
==Pseudocode==

(''Overlap–save algorithm for linear convolution'')
h = FIR_impulse_response
M = length(h)
overlap = M-1
N = 4
*overlap (or a nearby power-of-2)
step_size = N-overlap
H = DFT(h, N)
position = 0
while position+N <= length(x)
yt = IDFT( DFT( x(1+position : N+position), N )
* H, N )
y(1+position : step_size+position) = yt(M : N) #discard M-1 y-values
position = position + step_size
end


抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Overlap–save method」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.